// pages/myfix/myfix.js
const app = getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
      fixInfo:[
          {fixpro:"电脑多媒体",status:"waiting",subtime:"2025-02-18",area:"知行楼",areadetail:"N202",fixprodetail:"多媒体教室打不开",photos:"https://img0.baidu.com/it/u=738800969,1817557778&fm=253&fmt=auto&app=120&f=JPEG?w=562&h=500"},
          {fixpro:"电脑多媒体",status:"fixed",subtime:"2025-02-18",area:"知行楼",areadetail:"N202",fixprodetail:"多媒体教室打不开",photos:"https://img0.baidu.com/it/u=738800969,1817557778&fm=253&fmt=auto&app=120&f=JPEG?w=562&h=500"}
      ],
      repairList: [], // 报修记录列表
      page: 1, // 当前页码
      pageSize: 10, // 每页数量
      total: 0, // 总记录数
      loading: false, // 是否正在加载
      hasMore: true // 是否还有更多数据
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
      this.getRepairList()
    },
    /* 查询 */
    myquery(openidtemp){
      console.log(openidtemp);
        wx.request({
          url: app.globalData.testUrl+'/fix/getinfo',
          method:"POST",
          data:{
              openid:openidtemp
          },success:(res)=>{
              console.log("查询成功",res);
              this.setData({
                fixInfo:res.data.data
              })
          },fail:(res)=>{
              console.error("查询报错",res);
          }
        })
    },
    /* 拨打手机号 */
    callPhone(e){
        console.log(e.currentTarget.dataset.phone);
        var phone = e.currentTarget.dataset.phone
        wx.makePhoneCall({
          phoneNumber: phone,
        })
    },
    /* 查看报修反馈 */
    checkFeedBack(e){
        var url = e.currentTarget.dataset.url
        if(!e.currentTarget.dataset.url){
            wx.showToast({
              title: '暂无图片',
              icon:"none"
            })
        }
        wx.previewImage({
          urls: [url],
        })
    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
       
    },
    /* 预览照片 */
    preView(e){
        wx.previewImage({
          urls: [e.currentTarget.dataset.url],
        })
    },
    // 获取报修记录列表
    getRepairList() {
      if (this.data.loading || !this.data.hasMore) return

      this.setData({ loading: true })
      const userId = wx.getStorageSync('userInfo').id

      wx.request({
        url: `${app.globalData.baseUrl}/admin/repair/list`,
        method: 'GET',
        data: {
          userId: userId,
          page: this.data.page,
          pageSize: this.data.pageSize
        },
        success: (res) => {
          if (res.data.code === 200) {
            const { total, list } = res.data.data
            const newList = this.data.page === 1 ? list : [...this.data.repairList, ...list]
            
            this.setData({
              repairList: newList,
              total: total,
              hasMore: newList.length < total,
              loading: false
            })
          } else {
            wx.showToast({
              title: res.data.message || '获取报修记录失败',
              icon: 'none'
            })
            this.setData({ loading: false })
          }
        },
        fail: (err) => {
          console.error('获取报修记录失败:', err)
          wx.showToast({
            title: '网络错误',
            icon: 'none'
          })
          this.setData({ loading: false })
        }
      })
    },
    // 下拉刷新
    onPullDownRefresh() {
      this.setData({
        page: 1,
        hasMore: true
      })
      this.getRepairList()
      wx.stopPullDownRefresh()
    },
    // 上拉加载更多
    onReachBottom() {
      if (this.data.hasMore && !this.data.loading) {
        this.setData({
          page: this.data.page + 1
        })
        this.getRepairList()
      }
    },
    // 查看报修详情
    viewRepairDetail(e) {
      const { id } = e.currentTarget.dataset
      wx.navigateTo({
        url: `/pages/repairDetail/repairDetail?id=${id}`
      })
    },
    // 图片预览
    previewImage(e) {
      const current = e.currentTarget.dataset.url
      const urls = e.currentTarget.dataset.urls || [current]
      wx.previewImage({
        current: current,
        urls: urls
      })
    }
  })